Option Explicit


'################################################################
' Property
'################################################################
' 返回描述器所在对象的【说明信息】
Public Property Get Comment() As String

End Property

' 设置描述器所在对象的【说明信息】
Public Property Let Comment(ByRef val As String)

End Property

' 返回描述器所在对象在写入 sheet 后使用的【颜色信息】
Public Property Get Color() As Long

End Property

' 设置描述器所在对象在写入 sheet 后使用的【颜色信息】
Public Property Let Color(ByRef val As Long)

End Property

' 返回描述器所在对象的【标签】集合
' 如果没有设置过任何标签，应该返回 Nothing
Public Property Get Tags() As ISet

End Property

' 当前描述器所在对象的【备注对象】集合
' 如果没有设置过任何备注，应该返回 Nothing
Public Property Get Memos() As ISet

End Property

'################################################################
' Function
'################################################################
' 以当前描述器为原型，克隆一个新对象
' @return IDFDescriptor 属于指定容器的描述器
Public Function clone() As IDFDescriptor

End Function

' -------------------------------
' 标签操作
' -------------------------------
' 添加标签
' @param t 标签
Public Sub addTag(ByRef t As String)

End Sub

' 清空所有标签
Public Sub clearAllTag()

End Sub

' 检查是否存在指定标签
' @param t 标签
' @return 标签是否存在
Public Function existsTag(ByRef t As String) As Boolean

End Function

' 删除指定标签
' @param t 标签
Public Sub deleteTag(ByRef t As String)

End Sub

' -------------------------------
' 备注对象操作
' -------------------------------
' 添加备注对象
' @param m 备注对象
Public Sub addMemo(ByRef m As Object)

End Sub

' 清空所有备注对象
Public Sub clearAllMemo()

End Sub

' 检查是否存在指定备注对象
' @param m 备注对象
' @return 标签是否存在
Public Function existsMemo(ByRef m As Object) As Boolean

End Function

' 删除指定备注对象
' @param m 备注对象
Public Sub deleteMemo(ByRef m As Object)

End Sub
